gusucode.com > VC++ 宾馆管理系统(MSSQL) > VC++ 宾馆管理系统(MSSQL)/gusucode/Code/CheckRoomDLG.cpp

    //Download by http://www.NewXing.com
// CheckRoomDLG.cpp : implementation file
//

#include "stdafx.h"
#include "hotel_mis.h"
#include "CheckRoomDLG.h"
#include "Hotel_MISView.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CCheckRoomDLG dialog


CCheckRoomDLG::CCheckRoomDLG(CWnd* pParent /*=NULL*/)
	: CDialog(CCheckRoomDLG::IDD, pParent)
{
	//{{AFX_DATA_INIT(CCheckRoomDLG)
	m_sNo = _T("");
	m_bNoChecked = true;
	m_bTypeChecked = FALSE;
	m_sType = _T("");
	//}}AFX_DATA_INIT
}


void CCheckRoomDLG::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CCheckRoomDLG)
	DDX_Text(pDX, IDC_CHECKROOM_NO, m_sNo);
	DDX_Check(pDX, IDC_CHECKROOM_NOCHEK, m_bNoChecked);
	DDX_Check(pDX, IDC_CHECKROOM_TYPECHEK, m_bTypeChecked);
	DDX_CBString(pDX, IDC_CHECKROOM_TYPE, m_sType);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CCheckRoomDLG, CDialog)
	//{{AFX_MSG_MAP(CCheckRoomDLG)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CCheckRoomDLG message handlers

void CCheckRoomDLG::OnOK() 
{
	// TODO: Add extra validation here
	UpdateData(true);
	
	if ( !m_bNoChecked && !m_bTypeChecked)
	{
		AfxMessageBox(_T("请选择查询条件!"), MB_ICONEXCLAMATION);
		return;
	}
	
	m_sNo.TrimRight(" ");
	m_sType.TrimRight(" ");

	if ( m_bNoChecked ) 
	{
		if ( ""==m_sNo ) 
		{
			AfxMessageBox(_T("客房编号条件不能为空!"), MB_ICONEXCLAMATION);
			return;
		}
		
	} 
	else m_sNo="%";
	
	if ( !m_bTypeChecked ) m_sType = "%";
    if ( _T("所有房间类型")==m_sType ) m_sType = "%";
	
	// Refresh Room
	_variant_t strQuery;
	strQuery = "select * from rooms where roomNo like '"+m_sNo+"' and roomType like '"+m_sType+"'";
	CHotel_MISView* p = (CHotel_MISView*)(((CMainFrame*)AfxGetMainWnd())->GetActiveView());
	p->RefreshRoom(strQuery);
}

BOOL CCheckRoomDLG::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	// TODO: Add extra initialization here
	
	// Init Combobox
	((CComboBox*)GetDlgItem(IDC_CHECKROOM_TYPE))->InsertString(0, _T("所有房间类型"));
		
	_variant_t strQuery, Holder;	
	strQuery = "select typename from roomtype";
	theApp.ADOExecute(theApp.m_pADOSet, strQuery);
	int iCount = theApp.m_pADOSet->GetRecordCount();
	theApp.m_pADOSet->MoveFirst();
	for (int i=0; i<iCount; i++)
	{
	    Holder = theApp.m_pADOSet->GetCollect("typename");
	    ((CComboBox*)GetDlgItem(IDC_CHECKROOM_TYPE))->InsertString(i+1, Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder);
	    theApp.m_pADOSet->MoveNext();
	}
	((CComboBox*)GetDlgItem(IDC_CHECKROOM_TYPE))->SetCurSel(0);
	
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}